/*
 * Bing.h
 *
 *  Created on: 2011-7-31
 *      Author: Administrator
 */

#ifndef BING_H_
#define BING_H_

#include "Chess.h"

class Bing :public Chess{
public:
	Bing();
	virtual ~Bing();
	virtual void GenActions(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
protected:
	virtual bool MoveRuleCheck(Position& srcPos,Position& destPos,SituationProjection& projection);
public:
	void GenUpAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	void GenLeftAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	void GenRightAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	virtual bool IsOverRiver(Position& pos)=0;
};

#endif /* BING_H_ */
